package com.bbcare.treat.plat.store.ibatis;

import java.util.List;
import java.util.Map;

import com.bbcare.treat.plat.entity.PtTrTask;

/*
 * @name:         诊疗方案任务（内容）表存储接口
 * @author:       wuyz
 * @createTime:   2017.8.16
 * @description:  诊疗方案（版本）表信息
 * @modify:
 * 
 */
public interface IPtTrTaskDAO {
    /**
     * 通过任务id或者是任务实例id查询诊疗方案任务
     * 
     * @param 通过任务id或者是任务实例id
     * @return list
     */
    public List<PtTrTask> listTrTaskByTaskId(Map<String, Object> paramMap) throws Exception;

    /**
     * 查询诊疗方案任务
     * 
     * @param 自定义
     * @return list
     */
    public List<PtTrTask> listTrTaskByCondition(Map<String, Object> paramMap) throws Exception;

    /**
     * 保存用户任务实例信息
     * 
     * @param PtTrTask
     * @return list
     */
    public void savePtTask(PtTrTask ptt) throws Exception;

    /**
     * 保存用户任务实例信息到历史表
     * 
     * @param PtTrTask
     * @return list
     */
    public void savePtTaskHis(PtTrTask ptt) throws Exception;

    /**
     * 保存用户任务实例信息到历史表
     * 
     * @param PtTrTask
     * @return list
     */
    public void insertPatientTrTaskHisById(Map<String, Object> map) throws Exception;

    /**
     * 更新用户任务实例信息到历史表
     * 
     * @param PtTrTask
     * @return list
     */
    public int updatePatientTrTaskById(Map<String, Object> map) throws Exception;

    /**
     * 更新用户任务实例信息到历史表
     * 
     * @param PtTrTask
     * @return list
     */
    public List<PtTrTask> getOprationHistory(Map<String, Object> map) throws Exception;

    /**
     * 更新用户任务实例信息到历史表
     * 
     * @param PtTrTask
     * @return list
     */
    public List<PtTrTask> getOprationHistoryList(Map<String, Object> map) throws Exception;

    public int getOprationHistoryTotal(Map<String, Object> map) throws Exception;

    // 门诊诊疗记录list按年分组
    public List<Map<String, Object>> listOprationHistoryGroupBy(Map<String, Object> map) throws Exception;

    // 门诊诊疗记录list按日期+任务分组
    public List<Map<String, Object>> listOprationHisGroupByDate(Map<String, Object> map) throws Exception;
}